Enterprise Application

EA 정의

EA는 Enterprise Application의 약자로, 기업의 e-비즈니스를 지원하거나, 기업 또는 정부의 업무를 지원하는 소프트웨어이다. 여기서 소프트웨어란 프로그램과 프로그램의 개발, 운영, 유지보수에 필요한 정보일체를 말한다.


EA 특징

난이도가 낮은 프로그램

  • 멀티 스레드를 사용하지 않으며, 프로토콜 수준의 스펙을 이해할 필요가 없다.

복잡한 비즈니스 로직 반영

  • 복잡하지만 정형화되지 않은 업무 규칙이 있고, 많은 예외사항이 존재하며, 소프트웨어보다 많은 양의 데이터를 포함한다.

영속성(Persistency)이 있는 데이터

  • 다음에 수행시킬 때에도 유지되어야 하는 성격의 데이터가 많다.

대량의 데이터

  • 기업 운영을 위한 대량의 데이터에 대해서 관리해야 할 것을 감안해야 한다.

많은 동시 사용자

  • 많은 사용자의 접속을 지원하기 위해 특별한 시스템을 구성해야 하며, 동일한 데이터에 대한 접근을 관리하기 위해 트랜잭션 제어도 반드시 필요하다.

다른 시스템과 상호작용

  • 타 시스템과의 상호작용은 주로 데이터의 교환으로 수행된다.


EA 구축시 필요한 기술

개발 방법론

  • 프로젝트를 운영하는 표준 프로세스로써 프로젝트 구성원들이 반드시 지켜야 하는 규범이다.
  • 방법론에는 두 가지 개념이 존재한다.
    • 시스템을 구축하기 위한 분석, 설계, 구현과 관련된 프로세스 및 기법 등
    • 다른 하나는 위험관리, 프로젝트 관리 등 품질활동과 관련된 사항
  • 프로젝트에서는 기존 방법론을 그대로 사용하는 것이 아니라, 프로젝트 환경에 맞게 적절하게 수정해서 사용한다.

비즈니스 분석/설계 (UML 등)

  • 사용자의 요구사항을 분석하여 시스템을 설계하기 위한 다양한 분석 기법 및 설계 기법에 대한 지식이 필요하다.

데이터 모델링과 DB 설계

  • EA 특징 중 하나는 많은 데이터에 대한 동시접근이 가능하다는 것이다.
  • 따라서 데이터에 대한 분석 및 설계가 EA 기능과 성능을 결정짓는 중요한 요소이다.

프로그래밍 언어

  • 설계된 내용을 구현할 프로그래밍 언어와 관련된 기술이 필요하다.

Tool (WAS, DBMS 등)

  • EA 구축을 위해서는 미들웨어인 WAS와 데이터를 저장하는 DBMS가 필수적이다.
  • 이 두가지를 적절하게 도입하여 배치하고 운영하는 기술은 시스템을 안정적으로 운영하는데 가장 중요한 요소이다.

보안

  • 대부분의 기업 업무가 시스템을 통해 수행되기 때문에, 시스템에 대한 보안문제가 기업의 존폐를 위협한다.
  • 특히 웹 애플리케이션은 다수의 사용자를 대상으로 하고 있기 때문에 보안에 더욱 민감하다.

테스트

  • 신뢰성 있는 시스템을 구축하기 위해서는 반드시 테스트 계획을 수립하고, 수립된 계획에 맞춰 테스트를 수행해야 한다.

튜닝

  • EA는 많은 사용자가 동시에 접속하기도 하고, 또 시스템이 다운되거나 문제가 발생할 경우, 기업 업무 수행에 영향을 주기 때문에 성능 및 안정성이 매우 중요하다.
  • 따라서 시스템의 성능을 향상시키기 위한 튜닝 기법과 방법을 이해하는 것도 중요하다.


EA 개발의 특징

  • 계획과 공법이 매우 중요하다.
  • 복잡성과 크기가 커질 때 시간에 대한 중요성도 고려해야 한다.
  • 재사용해도 닳지 않는다.
  • 규모에 따른 기술적, 관리적 통제가 필요하다.
Share